The present invention relates to an external storage control device which stores data to an external storage device according to a write command from a host. In particular, the present invention relates to a system in which the same data is copied to another external storage device.
When data used in a host are stored to plural external storage devices, main and sub external storage devices that hold the same data are sometimes provided under individual external storage control devices. In this case, these external storage control devices are mutually connected, and the main external storage control device issues a write command to the external storage control device which controls sub external storage devices when the external storage control device which controls main external storage devices receives a write command. Thus, data stored in the main and sub external storage devices are duplicated.
U.S. Pat. No. 5,155,845 discloses a method in which an external storage control device which controls main external storage devices and one which controls sub external storage devices are mutually connected. A main external storage control device which has received a write command from a host, transfers data to a sub external storage control device. Thus, the write process is performed in parallel for both of main and sub external storage devices.
When a host handles data stored in external storage devices with CKD (count, key, data) format as used in large scale computer systems, the host issues channel commands in succession for instructing data transfer of each individual record. Thus, each individual record undergoes the same command chaining sequence in order to be transferred.
FIG. 3 illustrates a case of plural records being written using the same command chaining sequence. This Figure illustrates the case in which plural records are written in succession by a single command-chaining. In an external storage sub-system having main and sub external storage devices that hold the same data, located under individual external storage control devices, when a channel device that is a host issues a command-chain (DEFINE EXTENT/LOCATE RECORD/WRITE(R1)/WRITE(R2)/WRITE(R3)) to write 3 successive records R1, R2, and R3 to a disk storage device that is under a main external storage control device, data flow between the channel device and the main external storage control device and between the main external storage control device and the sub external storage control device are shown in the processing sequences of FIG. 3. Thus, several command-chains between the main and sub external storage control devices for each data transfer of write records is executed.
Further, in case data is duplicated by adopting the system described above, the distance between main and sub external storage control devices becomes large considering the backups necessary in case of a disaster. Thus, an optical fiber cable is adopted as the interface cable. Accordingly, the influence of cable delay, which is considered to be constant for a metal cable, with respect to command-chaining time cannot be ignored. However, since this duplication is for back up purposes, the influence of the write process for the sub external storage control device during an ordinary process must be minimized.
In a case where the write command must be executed a number of times in accordance with the command-chaining described above, this command-chaining time required for writing to sub external storage control devices cannot be ignored. This is because the amount of command-chaining between main and sub external storage control devices increases. As a result, backup processing can severely decrease the throughput rate in ordinary processing.
Thus, one purpose of the present invention is to optimize the write process time for the sub external storage control device by taking into consideration the command-chaining time between main and sub external storage control devices. As a result, the present invention offers a means for achieving excellent performance even under the conditions explained above.
In order to achieve the above-mentioned purpose, the external storage control device according to the present invention is equipped with a means for estimating command-chaining time between main and sub external storage control devices. There is also provided a means for estimating the time for a write process to a sub external storage control device before starting the write process to the sub external storage control device. The command is issued to the main external storage control device from the host. The present invention also includes means to select the best suited command-chaining method. Thus, a comparison is made between the above-mentioned estimated time with the data processing time required in the case of transferring data for a write record or data of plural tracks including a write record in one operation using a specified command. The present invention also includes command means for writing said data in a single operation.
It is possible for an external storage device to learn of the command-chaining time mentioned above by either measuring the command-chaining time from a specified command to the next command, or by setting the length of interface cable between main and sub external storage control devices from outside in advance. On the other hand, the time required for a write process for the sub external storage control device can be calculated by the above-mentioned information and by the information included in the command issued to the main external storage control device. Namely, command-chaining used for data input/output includes at least two specific channel commands prior to the command to start data transfer. For example, for an external storage control device, the commands, xe2x80x9cDEFINE EXTENTxe2x80x9d and xe2x80x9cLOCATE RECORDxe2x80x9d, are issued prior to data transfer, and the number of records to be processed and the data length are given, so that the amount of data to be transferred can be calculated.
Furthermore, the command-chaining time between main and sub external storage control devices depends upon length of interface cable and the performance of the external storage control device, and does not depend on commands made before and after the command-chaining. Accordingly, command-chaining time during data transfer can be estimated by measuring the time for two command chains. Also, the length of interface cable between main and sub external storage control devices, and support functions of a given external storage control device are known at the time of installation of a backup system. Thus, command-chaining time can be estimated with the length of interface cable as established.
Since the command-chaining time can be estimated as mentioned above, the processing time can also be estimated for a given amount of data transfer in the case that the command-chaining command from the channel device is issued to the sub external storage control device. Consequently, by comparing this processing time with a processing time in the case of transferring data for a write record, or, data of plural tracks including a write record together, using a command and command means to write said data at once, the best suited command-chaining instruction can be issued to the sub external storage control device.
Also, the external storage control device according to the present invention is equipped with means to confirm that the object data exists in the data buffer of another external storage control device in order to transfer data from the data buffer within the external storage control device to an external storage control device that receives the write commands, in addition to data transfer means as mentioned above. Moreover, the processing time can be further reduced by transferring all the physical data together, including the control byte and the check byte in the data buffer.
Additionally, in the case where object data for the read command, received from the host, exists in the buffer of an external storage control device other than the external storage control device which has received the read command, the processing time for performing a read-out can be shortened by transferring these data to the external storage control device which received the read command instead of accessing the other external storage device.
These and other objects, features and advantages of the present invention will become more apparent in view of the following detailed description of the preferred embodiments.